home *** CD-ROM | disk | FTP | other *** search
- unit fppchain;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, HTTPApp, Db, DBTables,
- FieldsProducer;
-
- type
- TWebModule1 = class(TWebModule)
- Table1: TTable;
- ppFirstStage: TPageProducer;
- ppSecondStage: TPageProducer;
- procedure ppFirstStageHTMLTag(Sender: TObject; Tag: TTag;
- const TagString: String; TagParams: TStrings;
- var ReplaceText: String);
- procedure WebModule1WebActionItem1Action(Sender: TObject;
- Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
- procedure ppSecondStageHTMLTag(Sender: TObject; Tag: TTag;
- const TagString: String; TagParams: TStrings;
- var ReplaceText: String);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- WebModule1: TWebModule1;
-
- implementation
-
- {$R *.DFM}
-
- procedure TWebModule1.ppFirstStageHTMLTag(Sender: TObject; Tag: TTag;
- const TagString: String; TagParams: TStrings; var ReplaceText: String);
- begin
- with Table1 do
- if CompareText(TagString, 'ACCT') = 0 then
- ReplaceText := FieldByName('ACCT_NBR').AsString
- else
- if CompareText(TagString, 'NAME') = 0 then
- ReplaceText := FieldByName('FIRST_NAME').AsString + #32 +
- FieldByName('LAST_NAME').AsString
- else
- if CompareText(TagString, 'ADDRESS') = 0 then
- ReplaceText := format('<#ADDRESSLINES ADDR1=%s CITY=%s STATE=%s ZIP=%s>',
- [HTTPEncode(FieldByName('ADDRESS_1').AsString),
- HTTPEncode(FieldByName('CITY').AsString),
- HTTPEncode(FieldByName('STATE').AsString),
- FieldByName('ZIP').AsString])
- else
- if CompareText(TagString, 'DOB') = 0 then
- ReplaceText := FieldByName('BIRTH_DATE').AsString
- else
- if CompareText(TagString, 'OBJ') = 0 then
- ReplaceText := FieldByName('OBJECTIVES').AsString
- else
- if CompareText(TagString, 'HOBBY') = 0 then
- ReplaceText := FieldByName('INTERESTS').AsString
- else
- if CompareText(TagString, 'RISK') = 0 then
- ReplaceText := FieldByName('RISK_LEVEL').AsString
- else
- if CompareText(TagString, 'JOB') = 0 then
- ReplaceText := FieldByName('OCCUPATION').AsString
- else
- if CompareText(TagString, 'PHOTO') = 0 then
- ReplaceText := '<#IMAGE SRC=' + FieldByName('PICTURE').AsString + '>'
- else
- if CompareText(TagString, 'TEL') = 0 then
- ReplaceText := FieldByName('TELEPHONE').AsString;
- end;
-
- procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
- Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
- begin
- if Table1.Locate('LAST_NAME', Request.QueryFields.Values['name'],
- [loCaseInsensitive]) then
- begin
- ppSecondStage.HTMLDoc.Add(ppFirstStage.Content);
- Response.Content := ppSecondStage.Content;
- end
- else
- Response.Content := '<H2>Unable to find name ' +
- Request.QueryFields.Values['name'];
- end;
-
- procedure TWebModule1.ppSecondStageHTMLTag(Sender: TObject; Tag: TTag;
- const TagString: String; TagParams: TStrings; var ReplaceText: String);
- begin
- if CompareText(TagString, 'IMAGE') = 0 then
- ReplaceText := '<IMG SRC="http://localhost/docs/' + TagParams.Values['SRC'] + '">'
- else
- with TagParams do
- if CompareText(TagString, 'ADDRESSLINES') = 0 then
- ReplaceText := Values['ADDR1'] + '<BR>' +
- Values['CITY'] + '<BR>' +
- Values['STATE'] + '<BR>' +
- Values['ZIP'];
- end;
-
- end.
-